# 设计一个装饰器，它可以作用于任何函数上，打印函数执行时间
import time

def metric(fn):
    def tim_cou(*args, **kw):
        # start end time用于锚定函数运行开始和结束的时间点
        start_time = time.time()
        tim = fn(*args, **kw)
        end_time = time.time()
        print('耗时:{:.4f}s'.format(end_time - start_time))
        return tim
    return tim_cou

@metric
def sleep_test():
    time.sleep(4)
    print("finish running !")

sleep_test()
